home *** CD-ROM | disk | FTP | other *** search
/ Acorn RISC PD-CD 1 / Acorn RISC PD-CD 1.iso / utilities / _discutils / discutils / _discmedic / _help < prev    next >
Encoding:
Text File  |  1992-07-02  |  20.6 KB  |  592 lines

  1.  
  2.                               *********************
  3.                               *                   *
  4.                               *  DiscMedic v0.92  *
  5.                               *                   *
  6.                               * © Tim Browse 1992 *
  7.                               *                   *
  8.                               *********************
  9.  
  10.                          
  11.                           *****************************
  12.                           *                           *
  13.                           * This program is CAREWARE! *
  14.                           *                           *
  15.                           *****************************
  16.  
  17.  
  18. This program is Careware - it is not Public Domain.  If you consider it
  19. useful and continue to keep a copy of it please register it with the author.
  20. There is a fee of £5 for registration, which goes to Comic Relief.
  21.  
  22. See the end of this file for instructions.
  23.  
  24. You may distribute this freely, as long as *all* files (except "Options")
  25. are left unchanged.
  26.  
  27. I have attempted to test this program to the best of my abilities and
  28. facilities, but:
  29.  
  30. I CANNOT BE HELD RESPONSIBLE FOR ANY DAMAGE WHICH MAY BE CAUSED BY THE USE
  31. OF THIS PROGRAM.
  32.  
  33. Having said that, it has been tested on ADFS (hard and floppy), Oak SCSI,
  34. Morley SCSI, and I am reasonably confident that it will work on IDE drives,
  35. as long as the SWIs are sensibly named.  This program is independent of SWI
  36. numbers for filing systems, but is dependent on SWI names, in particular,
  37. SCSI systems must prefix their SWIs with "SCSI_" or "SCSIFS_" and IDE
  38. systems must prefix their SWIs with "IDEFS_".                   
  39. If anyone has an IDE system, I would be grateful to hear about DiscMedic's
  40. successes and failures!
  41.  
  42. INTRODUCTION
  43. ------------
  44.  
  45. Well, it's here, and only about 8 months late.  DiscMedic is a desktop disc
  46. sector editor.  It works on FileCore format discs, i.e. L, D, and E format
  47. ADFS floppies, D and E format ADFS hard-discs, and SCSI, IDE and RamFS
  48. discs. F format is not yet supported as I don't have an A5000. MS-DOS 720k
  49. format is supported at a pinch, but with a few quirks - see below for
  50. details.
  51.  
  52. DiscMedic can be used to examine and repair discs, extract data from them,
  53. or just to have a good nose around.                       
  54.  
  55. This is a preliminary release, and it will not do the following:
  56.  
  57.  * Undelete files
  58.  * Repair maps/disc records/boot blocks
  59.  
  60. However, while it won't do this automatically, if you have the necessary
  61. knowledge, you can do it by hand with DiscMedic.  Future versions of
  62. DiscMedic will do this automatically, as well as providing numerous
  63. precautionary measures to prevent your beloved data taking a trip to
  64. Disasterville, Arizona.  You will receive an update of these if you are
  65. registered, and if you provide a blank disc + p&p (I'm not getting paid for
  66. this you see!) for the purpose.
  67.  
  68. To start DiscMedic, double click as usual on the filer application, and you
  69. will be rewarded with a reet lovely icon sitting on your bar.
  70.              
  71.  
  72. HOW TO USE IT
  73. -------------
  74.  
  75. This application is fairly self-explanatory - you can probably guess most of
  76. the functions by playing.  Let's face it, you're not going to read this
  77. manual are you?  I'm wasting me time.  However, due to the fault-tolerant
  78. nature (well, almost) of this program, there are a few quirks which may need
  79. explanation.
  80.  
  81. The Main window
  82. ---------------
  83.  
  84. Click select on the icon to display the main window.  You will see various
  85. icons which display the current disc parameters - drive, track, head and
  86. sector.  These icons are linked to the disc address icon, so if you adjust
  87. the parameters, the address follows, and vice versa.  The parameters can be
  88. changed by clicking select on the arrows (adjust has the opposite effect)
  89. and will change in increments of one.  The address icon will change by the
  90. size of one sector.  Holding down SHIFT will multiply these increments by
  91. 10 for faster adjustment.  None of these icons will let you select values
  92. that do not correspond to a position on the disc.
  93.  
  94. You have probably noticed that the 'Drive' icon is bordered - clicking on it
  95. will mount the specified drive.  DiscMedic only deals with one drive at a
  96. time, and does not auto-mount (there are exceptions - see 'Options' below). 
  97. This should be borne in mind, especially with removable media.
  98.  
  99. Mounting the drive causes DiscMedic to examine the disc record (and boot
  100. block if a hard disc is selected).  It performs a number of consistency
  101. checks, and may reject it if there are too many errors.  If this is the
  102. case, it substitutes a 'safe' disc record which should let you access most
  103. of the first track of any disc, enabling you to fix the disc record.  If you
  104. played with the parameters before mounting the disc you will have noticed
  105. that when no disc is mounted, this safe record is in use, and will not let
  106. you go past the first track.
  107.  
  108. The Read and Write icons:
  109.  
  110. Read
  111.  
  112. This reads the sector from the specified drive and position.  It displays it
  113. in a scrollable window beneath the main window.  This is called the data
  114. window.
  115.  
  116. Write
  117.  
  118. This will write the data in the data window to the specified position on the
  119. specified drive.  If you load data in and attempt to write it out to a
  120. different disc with a different sector size, the data will be truncated if
  121. the destination sector is smaller.  If the destination is larger, only the
  122. first part of the sector will be overwritten; e.g. writing a 256 byte sector
  123. to a 1024 byte sector will overwrite the first 256 bytes and leave the
  124. remaining 768 bytes unchanged.
  125. If you write to the area of the disc which contains the disc record (boot
  126. block for hard discs, sector 0 for floppies) then the drive is automatically
  127. unmounted.
  128.  
  129.  
  130. In the top right of the main window is an icon which displays the current
  131. Filing System (wrt Discmedic) and the disc format, if known.  SCSI, IDE and
  132. RamFS discs are always E format.  Clicking on this icon will cycle through
  133. the available filing systems.  The icon below this one indicates what kind
  134. of data the sector contains:
  135.  
  136. 'Unknown'    indicates the disc is not mounted
  137.  
  138. 'Data'       indicates a normal data sector
  139.  
  140. 'Zone ...'   indicates that the sector is part of an E format map.  The
  141.              superscripted number following the zone number indicates
  142.              whether you are in the first or second copy of the map.
  143.  
  144. 'Boot Block' indicates that the sector is part of (or possibly all of) a
  145.              hard disc boot block.
  146.  
  147. 'MapSector¹' and
  148. 'MapSector²' indicate that the sector is part of a L/D format free space map.
  149.  
  150.  
  151. The Data Window
  152. ---------------
  153.  
  154. This is a scrollable resizable window which displays the sector data.  The
  155. grey column on the left indicates the sector offset for each row of data. 
  156. The black text displays hex and ASCII versions of the sector data.  Clicking
  157. select in the window will allow you to move around and edit the data.  
  158.  
  159. The arrow keys move the caret, and holding down control moves as far as
  160. possible in the specified direction.  
  161.  
  162. The keys 0-9 & A-F will enter hex values in the hex display, and printable
  163. characters will alter the ASCII display.  
  164.  
  165. To switch between Hex and ASCII, press the TAB key.
  166.  
  167. When you change data to be different from the original, that data is
  168. displayed in red.  Pressing F8 while over a changed piece of data will
  169. restore it to its original state.
  170.  
  171. The behaviour of scrolling and the caret is the same as in Acorn's Edit
  172. application.
  173.  
  174.  
  175. The Application Menu
  176. --------------------
  177.  
  178. Clicking MENU on the icon bar icon brings up the application menu:
  179.  
  180.  
  181. Info    - displays info about the program, including its Careware status.
  182.  
  183. Options - allows you to set and save options.  This is duplicated in the
  184.           main menu and is explained below.
  185.  
  186. Quit    - I'll let you figure it out, Boo Boo.
  187.  
  188.  
  189. The Main Menu
  190. -------------
  191. Clicking select in any of DiscMedic's windows brings up the main menu:
  192.            
  193. +-------------+
  194. | Save      ⇨ |
  195. | Drives    ⇨ |
  196. | Find      ⇨ |
  197. | Checksums ⇨ |
  198. | Options   ⇨ |
  199. | Misc      ⇨ |
  200. +-------------+
  201.  
  202. Save
  203. ====
  204.  
  205. This submenu will save the current sector data in the usual Risc-OS
  206. drag-and-drop manner.  If you have not loaded any data then a block of zero
  207. data is saved.
  208.  
  209. Drives
  210. ======
  211.  
  212. This submenu presents a list of what DiscMedic believes to be available
  213. drives, in iconic form for easy selection.  This menu is dynamic and tracks
  214. Filing Systems dying and starting up, so it should always be an accurate
  215. reflection of the drives available.
  216.  
  217. Find
  218. ====
  219.  
  220. This leads the the following options:
  221.  
  222. +-----------+
  223. | Data      |
  224. | Directory |
  225. | Map       |
  226. +-----------+
  227.  
  228.  
  229. Data & Directory
  230. ----------------
  231.  
  232. NB: You cannot search MS-DOS format floppy discs. (This will be possible in
  233. a future version)
  234.  
  235. The first two options are very similar.  They both pop up the Find dialogue
  236. box, which is used to search for data on the current disc.  The writeable
  237. icon at the top labelled 'Find:' should be edited to contain the string to
  238. search for.  
  239.  
  240. Whether or not plain data or a directory is being searched for
  241. is selected by two radio icons.  The menu options are just shorthand ways of
  242. pre-selecting these radio icons.  
  243.  
  244. If 'Directory' is selected, then data is searched for which represents a
  245. directory of that name on the disc.  For instance, if you had a broken
  246. directory called 'Goodies' somewhere, you could click on 'Directory', type
  247. 'Goodies' into the search field and start the search.  When (assuming the
  248. directory is relatively undamaged!) DiscMedic finds it you can set about
  249. repairing it.  There is no guarantee in this version that such directory
  250. sectors found are in use - they may be old deleted data sectors.  It is
  251. suggested that you note down the address, and continue the search until the
  252. end of the disc to determine which sector(s) to edit.  Future versions of
  253. DiscMedic will scan the directory tree / disc map to find directories.
  254. To see how this feature works in use, try looking for the root directory -
  255. type '$' in the search field, select 'Directory', and click on 'Start'.
  256.  
  257. The High Speed icon will cause DiscMedic to use all available memory to load
  258. data into, which can result in significant improvements in search times. 
  259. This is most useful on hard discs, but will speed up floppy searches as
  260. well.
  261.  
  262. The status area on the right indicates whether DiscMedic is 'Idle' or
  263. 'Searching', and the gauge gives an indication of how far the search has
  264. progressed.
  265.  
  266. Clicking on 'Start' will start searching from the address specified in the
  267. 'Address' icon in the main DiscMedic window.  Therefore, if you want to
  268. search the whole disc, you must set the address to 00000000 before starting.
  269.  
  270. While searching, the machine will still multi-task, although with High Speed
  271. enabled it may be somewhat sluggish, ARM3 permitting.
  272.  
  273. The search can be stopped by clicking on 'Stop'.  You may then continue the
  274. search by clicking on 'Continue'.  You can toggle the high speed search
  275. option, or change the string to search for, and then continue from where you
  276. left off.  If you alter the Data/Directory icons, you _cannot_ continue the
  277. search, but must start a new one.
  278.  
  279. If and when the data is found, DiscMedic will attempt to move to that
  280. position on the disc and show you the data it found (barring restrictions
  281. placed on it by the options the user has set - see below).  The caret will
  282. be positioned in the ASCII segment of the data window at the start of the
  283. data found.  If you click on 'Continue' and the string appears later in the
  284. same sector, the caret will simply be moved to the new position, otherwise
  285. the search will continue as normal until you interrupt it, the data is
  286. found, or the end of the disc is reached.
  287.  
  288. The search may also be paused by closing the Find dialogue box.  To resume
  289. the search simply select Find Data/Directory from the menu again.
  290.  
  291.  
  292. Map
  293. ---
  294.  
  295. This will reset the address and parameter icons to point to the start of the
  296. free space map on the disc.  Clicking on 'Read' (unless auto-read has been
  297. selected - see options below) will display the first sector of the disc map.
  298.  
  299.  
  300. Checksums
  301. =========
  302.  
  303. +------------------+
  304. | Zone Checksum    |
  305. | Zone Cross Check |
  306. | Directory        |
  307. +------------------+
  308.  
  309. The first two options will be available if the disc sector pointed to by the
  310. parameter icons is part of an E-format map.  The zone checksum checks the
  311. checksum byte for that sector of the zone, and corrects it if it is wrong. 
  312. The zone cross check compares the cross check bytes of all the other zones
  313. in the map to ensure they are self consistent - it will also rectify the
  314. cross-check byte if it is wrong. If the sector is not part of an E-format
  315. map, then the first two options are greyed out.
  316.  
  317. The 'Directory' option, on the other hand is always greyed out, as it is not
  318. yet implemented!  It will appear in a future version of DiscMedic.
  319.  
  320.  
  321. Options
  322. =======
  323.  
  324. This submenu displays a dialogue box to set and/or save the DiscMedic
  325. options.  The options are as follows:
  326.  
  327. Automatic
  328. ---------
  329. Read:     If set, DiscMedic will automatically read the sector data in
  330.           whenever the disc address, drive, or filing system changes. 
  331.  
  332. Write:    If set, Discmedic will automatically save the sector data to disc
  333.           whenever the disc address, drive, or filing system changes.
  334.  
  335. Checksum: If set, whenever DiscMedic reads in data for part of an E-format
  336.           map, it will check the zone checksum and cross-check bytes and
  337.           correct them if they are wrong.
  338.  
  339. Warning
  340. -------
  341. Read:     If set, this will cause DiscMedic to ask for confirmation before
  342.           reading new data in (for *any* reason, including the search
  343.           finding the required data) over sector data which has been edited
  344.           but not saved back to disc. 
  345.  
  346. Write:    If set, DiscMedic will ask for confirmation before writing data
  347.           to disc, for whatever reason.                 
  348.  
  349. Checksum: If set, DiscMedic will ask for confirmation before correcting
  350.           either the zone checksum or cross-check bytes.
  351.  
  352.  
  353. Sector Wrap
  354. -----------
  355.  
  356. If set, this option causes DiscMedic to alter the 'Head' parameter when the
  357. 'Sector' parameter loops back to 0, or loops from 0 back to its maximum
  358. value.  Similarly the 'Track' value will change when the 'Head' value
  359. crosses either of its boundaries.  This enables you to step through the disc
  360. just by altering the 'Sector' parameter.  If this option is not set, then if
  361. you don't try to alter the 'Head' or 'Track' parameters, they won't change.
  362.  
  363. This option is much easier to understand than it is to explain - just have a
  364. play about and you'll get the idea.
  365.  
  366.  
  367. Search delay
  368. ------------
  369.  
  370. This specifies the number of centiseconds that DiscMedic pauses for between
  371. each block of data it searches.  It can be from 0 to 99 cs.                     
  372.  
  373.  
  374. SAVE and OK
  375. -----------
  376.  
  377. Clicking on OK will make the options take effect, whereas SAVE will make
  378. them take effect, but also save them as the default options for the next
  379. time DiscMedic is loaded.
  380.                          
  381.  
  382. Misc
  383. ====
  384.  
  385. +--------------+
  386. | Drive Info   |
  387. | Clear Buffer |
  388. | Undo All     |
  389. +--------------+
  390.  
  391. Drive Info
  392. ----------
  393.  
  394. This will display the disc record window for the currently mounted drive. 
  395. If no drive is mounted, DiscMedic will attempt to mount the specified drive.
  396.  
  397. The information is fairly self-explanatory - if you don't understand what
  398. any of the fields mean, then you probably don't want to know.
  399.  
  400. If you want to know the *exact* number of bytes on the disc (the display
  401. rounded up to Kb, Mb or Gb - try it and see) then you'll have to load the
  402. disc record in and work it out from that.
  403.  
  404. The Comic Relief faces do have a purpose!  This window displays the record
  405. found on the currently mounted disc, and, if the faces are happy, then
  406. DiscMedic thinks the disc record is OK.  If the faces are sad, however,
  407. DiscMedic does not think the disc record is valid, and is using its own
  408. 'safe' version of the disc record to access the disc, and access will be
  409. limited to the first track.  This is enough access to fix the disc record by
  410. hand.
  411.             
  412.  
  413. Clear Buffer
  414. ------------
  415.  
  416. This will zero the data in the data window. Simple enough for ya?
  417.  
  418.  
  419. Undo All
  420. --------
  421.  
  422. This will restore the sector data to its original unedited form.
  423.  
  424.  
  425.  
  426. Known Bugs and Featurettes
  427. ==========================
  428.  
  429. When accessing a D format hard disc with a 'Bad defect list', you can read
  430. from it, but you can't *write* to it.  This is a real pain and I can't
  431. figure out why - I've wasted enough time already on this.  If anyone can
  432. help with this, drop me a line!
  433.  
  434.  
  435. Revision History
  436. ================
  437.  
  438. 0.91  First public release!
  439.  
  440. 0.92  Allowed window drag by dragging with Adjust while on (almost) any part
  441.       of the windows.
  442.       Fixed resizing bug - when main window is beneath others and data window
  443.       is resized with select it used to come to the front but the main
  444.       window didn't - now it does.  Still haven't fixed case where user
  445.       clicks select on resize icon but doesn't change size - probably have to
  446.       hang some godawful kludge off the redraw code cause wimp refuses to tell
  447.       me about it otherwise  *Why* doesn't bringing the window to the top with
  448.       the resize icon cause a window open event???
  449.       Bugs:
  450.       Auto-mount disc if find started with no disc mounted.
  451.       Wimp error 'Input focus window not found' if you close window
  452.       and start search.
  453.       Add support for toggle size on data window
  454.  
  455. Future Improvements
  456. ===================
  457.  
  458. Automation of map/disc record/boot block repair and file recovery.
  459.  
  460. Saving of any range of data from disc (to byte resolution) to a file.
  461.                                              
  462. Loading of a disc file to disc address (to byte resolution).
  463.  
  464. Delete-tracking.
  465.  
  466. Auto-backup of disc map, and directory structure.
  467.  
  468. Faster and more intelligent search.
  469.  
  470. Indication of defect sectors on E-format discs.
  471.  
  472. Easy editing of disc records and boot blocks.
  473.  
  474. Time-travel feature to avoid disasters.
  475.  
  476. Crossword-solver.
  477.  
  478. Software implementation of 64 Mb of RAM.
  479.  
  480. etc. etc.
  481.  
  482.  
  483. Closing comments
  484. ================
  485.  
  486. Well, that's about it.  This program was started in May 1991 so you can see
  487. how long it takes me to get my act in gear.
  488.  
  489. It was developed on an A440 with Oak SCSIFS and a Serial Port/QDE hard
  490. drive.  It was coded using Acorn C v3, and then Acorn Desktop C v4, which,
  491. by the way, barring a few irritating features (are you listening DDT?), is
  492. one of the nicest development environments I've ever used.
  493.                                 
  494. It's reasonably robust and has been used in the past (in an older version)
  495. to resurrect a very large disc drive (512Mb) which had a broken root
  496. directory, and which wasn't backed up, for a well-known BBS.  Mentioning no
  497. names, but suffice it to say everything's Fiennes now.  So it does have some
  498. uses!
  499.  
  500. Thanks (directly and indirectly, for various reasons, and in no particular
  501. order) to:
  502.  
  503. Philip Colmer    (for releasing FileCore details into PD and releasing me
  504.                   from my non-disclosure agreement)
  505. Simon Huntingdon (for Interface) 
  506. Andrew Foyle     (for Acorn C) 
  507. Hugo Fiennes     (he gets bloody everywhere doesn't he?) 
  508. All at Arcade    (Ian, Lorcan, Peter, Outlaw, William, Graham, Philip,
  509.                   numerous Steves, Michaels and Daves, 
  510.                   Emmet, Karen, Alan, Jick,
  511.                   and basically everyone else *except* Piers and Jp)
  512. Jeff Gorton      (for assistance/information from Acorn)
  513. Brian Sterrett   (for assistance in communication ;-)
  514. Jeremy Burton    (for motivation)
  515.  
  516. Music listened to while writing this program:     
  517.  
  518. Due to the time it's taken me, nearly all my CDs..!
  519.  
  520. Queen, Genesis, Jarre, Tikaram, Collins, Gabriel, Erasure, Sam Brown,
  521. Fordham, Van Morrison, Level 42, Yazoo, PSB, Spandau Ballet,
  522. Thin Lizzy, Oldfield, Yes, etc. etc.  Happy times!
  523.  
  524. See you at the Genesis Knebworth gig!
  525.  
  526.  
  527. If you have any suggestions or bugs, I can be contacted at:
  528.                      
  529. 1, Arkle House,
  530. 6, Chiltern View Road
  531. Uxbridge,
  532. Middlesex.
  533. UB8 2PA
  534. ENGLAND
  535.  
  536. or at Arcade BBS (081-654-2212, 8N1, all speeds) as user #985, "Tim Browse".
  537.  
  538.  
  539. REGISTRATION
  540. ============
  541.  
  542. This product is CAREWARE so if you use it or retain a copy in lieu of
  543. disasters please please please please please please please please please
  544. please please please please register it with me - all proceeds go directly
  545. to charity.
  546.  
  547.  
  548. In order to register:
  549. ---------------------
  550.  
  551. Send me a formatted 3½" disc and return postage, along with your name and
  552. address (obviously!) and a cheque for £5, made payable to 'Comic Relief'.
  553. If you wish you can make it more than £5 - I won't complain, and neither
  554. will Comic Relief!  See above for my address.
  555.  
  556. If you register from Overseas, you must still send a cheque for £5 sterling
  557. made payable to 'Comic Relief' as I don't want any hassle from the Tax man! 
  558. Sorry!
  559.  
  560. If you send me two discs + postage I will send you the new version when I
  561. make any significant upgrades.          
  562.  
  563. If however, you send me a disc and no money, I'll be happy to keep the disc.
  564.  
  565. Thanks for your time and money.  £5 isn't much to ask, so register now!
  566.  
  567.  
  568.  
  569. Tim Browse 
  570.  
  571. June 1992
  572.  
  573.  
  574.  
  575.  
  576.  
  577.  
  578.  
  579.  
  580.  
  581.  
  582.  
  583.  
  584.  
  585.  
  586.  
  587.  
  588.  
  589.  
  590.  
  591.  
  592.